package com.hzlx.component.service;

import java.util.List;

import com.hzlx.BomComponentsDto;
import com.hzlx.component.domain.BomComponents;

/**
 * BOM组件明细Service接口
 * 
 * @author ruoyi
 * @date 2025-07-01
 */
public interface IBomComponentsService 
{
    /**
     * 查询BOM组件明细
     * 
     * @param componentId BOM组件明细主键
     * @return BOM组件明细
     */
    public BomComponents selectBomComponentsByComponentId(Long componentId);

    /**
     * 查询BOM组件明细列表
     * 
     * @param bomComponents BOM组件明细
     * @return BOM组件明细集合
     */
    public List<BomComponents> selectBomComponentsList(BomComponents bomComponents);

    List<BomComponents> selectBomComponentsOperationsList(BomComponents bomComponents);

    /**
     * 新增BOM组件明细
     * 
     * @param bomComponents BOM组件明细
     * @return 结果
     */
    public int insertBomComponents(BomComponents bomComponents);

    /**
     * 修改BOM组件明细
     * 
     * @param bomComponents BOM组件明细
     * @return 结果
     */
    public int updateBomComponents(BomComponents bomComponents);

    /**
     * 批量删除BOM组件明细
     * 
     * @param componentIds 需要删除的BOM组件明细主键集合
     * @return 结果
     */
    public int deleteBomComponentsByComponentIds(Long[] componentIds);

    /**
     * 删除BOM组件明细信息
     * 
     * @param componentId BOM组件明细主键
     * @return 结果
     */
    public int deleteBomComponentsByComponentId(Long componentId);


    List<BomComponents> selectMaterials(Long bomId, Long operationId);
}
